package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ColaboradorDAO {
	
	public ColaboradorDAO()
	{
		super();
	}
	
	
	
	public void guardarColaborador(Colaborador colaborador)
	{
		String tiraSQL ="INSERT INTO colaborador"+
						"(cedula, nombre, apellido, sexo, telefono, correo, fechanacimiento, tipoColaborador, status)"+
						"VALUES ("+ 
						"'"+ colaborador.getCedula()+"',"+
						"'"+ colaborador.getNombre()+"',"+
						"'"+ colaborador.getApellido()+"',"+
						"'"+ colaborador.getSexo()+"',"+
						"'"+ colaborador.getTelefono()+"',"+
						"'"+ colaborador.getEmail()+"',"+
						"'"+ colaborador.getFnacimiento()+"',"+
						"'"+ colaborador.getTipoColaborador()+"',"+
						"'"+ colaborador.getEstatus()+"')";

		Conexion.ejecutar(tiraSQL);
	}
	
	
	
	public void modificarColaborador (Colaborador colaborador)
	{
		String tiraSQL = "UPDATE colaborador SET "+
		 				 "nombre = '"+ colaborador.getNombre()+"',"+
		 				 "apellido = '"+ colaborador.getApellido()+"',"+
		 				 "sexo = '"+ colaborador.getSexo()+"',"+
		 				 "telefono = '"+ colaborador.getTelefono()+"'"+
		 				 "correo = '" + colaborador.getEmail()+"'"+
		 				 "fechanacimiento = '" + colaborador.getFnacimiento()+"'"+
		 				 "tipoColaborador = '" + colaborador.getTipoColaborador()+"'"+
		 				 "status = '" + colaborador.getEstatus()+"'"+
		 				 "WHERE cedula = '" + colaborador.getCedula() + "'";
		Conexion.ejecutar(tiraSQL);
	}
	
	public void eliminarColaborador (String cedula)
	{
		String tiraSQL = "UPDATE colaborador SET status = 'E' WHERE cedula = '" + cedula + "'";
		Conexion.ejecutar(tiraSQL);
	}
	
	public Colaborador buscarColaborador (String cedula)
	{
		String tiraSQL = "SELECT * FROM colaborador WHERE status = 'A' AND cedula = '" + cedula + "'";
		ResultSet resultset = Conexion.consultar(tiraSQL);
		try
		{
			while (resultset.next())
			{
				String ced = resultset.getString("cedula");
				String nombre = resultset.getString("nombre");
				String apellido = resultset.getString("apellido");
				String sexo = resultset.getString("sexo");
				Date fechanacimiento = resultset.getDate("fechanacimiento");
				String telefono = resultset.getString("telefono");
				String correo = resultset.getString("correo");
				String tipocolaborador = resultset.getString("tipocolaborador");
				String estatus = resultset.getString("status");
				Colaborador colaborador = new Colaborador(ced, nombre, apellido, sexo, telefono, correo, fechanacimiento, tipocolaborador, estatus);
				return colaborador;
			}
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		return null;
	}
	
	public ArrayList<Colaborador> consultarColaboradores()
	{
		ArrayList<Colaborador> colaboradores = new ArrayList<Colaborador>();
		String tiraSQL = "SELECT * FROM colaborador WHERE estatus = 'A'";
		ResultSet resultset = Conexion.consultar(tiraSQL);				
		try 
		{
			while (resultset.next()) 
			{				
				String ced = resultset.getString("cedula");
				String nombre = resultset.getString("nombre");
				String apellido = resultset.getString("apellido");
				String sexo = resultset.getString("sexo");
				Date fechanacimiento = resultset.getDate("fechanacimiento");
				String telefono = resultset.getString("telefono");
				String correo = resultset.getString("correo");
				String tipocolaborador = resultset.getString("tipocolaborador");
				String estatus = resultset.getString("status");
				Colaborador colaborador = new Colaborador(ced, nombre, apellido, sexo, telefono, correo, fechanacimiento, tipocolaborador, estatus);
				colaboradores.add(colaborador);
			}
		} 
		catch (SQLException e) 
		{
			e.printStackTrace();
			return null;
		}
		return colaboradores;
	}
	
	

}